package com.example.demo.mapper;

import com.example.common.entity.UserInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface UserMapper {

    /**
     * 用户注册
     * @return
     */
    Integer reg(UserInfo userInfo);

    /**
     * 根据用户名获取用户信息
     */

    UserInfo getUserByName(@Param("username") String username);

    /**
     * 根据用户 id 查询用户信息
     * @param id
     * @return
     */
    UserInfo getUserById(@Param("id") Integer id);

    /**
     * 根据用户名增加 state
     * @param username
     * @return
     */
    Integer updateStateByName(@Param("username") String username,
                              @Param("state") Integer state);

    /**
     * 根据用户用获取 state
     * @param username
     * @return
     */
    Integer getStateByName(@Param("username") String username);

    /**
     * 根据用户 id 修改用户头像
     * @param id
     * @param photo
     * @return
     */
    Integer updatePhotoById (@Param("id") Integer id,
                             @Param("photo") String photo);

    /**
     * 修改用户信息
     * @param userInfo
     * @return
     */
    Integer updateUserInfoById(UserInfo userInfo);

}
